package com.sleep.psy.external_server.constants;

/**
 * 公共常量
 * @author wenliguo
 * @date 2025/6/6 09:48
*/
public class CommonEnum {

    /** 量表区分 **/
    public enum InventoryEnum {

        ISI("失眠严重指数量表","isi"),


        SCL90("症状自评量表(scl-90)", "scl90"),
        PSQI("匹兹堡睡眠质量指数PSQI", "psqi"),

        PSQISM("匹兹堡睡眠质量指数PSQISM", "psqism"),
        PSQI_AUDIO("匹兹堡睡眠质量指数PSQI", "psqiAudio"), //是给专业音频调节功能使用
        WIIQ("失眠结构化问卷", "wiiq"),
        WMPI("忆溯性人格发展量表", "wmpi"),

        RYYWMPI("忆溯性人格发展量表", "ryywmpi"),
        BPRS("简明精神病评定量表(BPRS)", "bprs"),
        HAMA("汉密尔顿焦虑量表(HAMA)", "hama"),
        HAMD("汉密尔顿抑郁量表（HAMD）", "hamd"),
        BAI("贝克焦虑量表(BAI)", "bai"),
        BDI("贝克抑郁量表(BDI)", "bdi"),
        MMPI("明尼苏达多相个性测验量表【399题】", "mmpi"),
        SAS("焦虑自评量表(SAS)", "sas"),
        SASJL("焦虑自评量表(SAS)", "sasjl"),
        SDS("抑郁自评量表(SDS)", "sds"),
        SDSYY("抑郁自评量表(SDS)", "sdsyy"),
        WICQ("广安门失眠综合问卷", "wicq"),
        WMPI_SCHOOL("忆溯性人格发展量表（学生版）", "wmpi-school"),
        WPTI("人格倾向量表", "wpti"),
        WPTI_NARCISSISM("自恋人格倾向量表", "wpti_narcissism"),
        WPTI_PARANOIA("偏执人格倾向量表", "wpti_paranoia"),
        Y_BOCS("强迫量表", "y-bocs"),

        Y_BROWN("强迫量表", "y-brown"),

        WPST("工作压力源测试", "wpst"),
        ENRICH("OLSON婚姻质量问卷（ENRICH）", "enrich"),
        FFA("家庭功能评定", "ffa"),
        FESC("家庭教育方式综合测验", "fesc"),
        TABP("A型行为类型问卷（TABP）", "tabp"),
        TPMP("气质测验", "tpmp"),
        DISC("性格内外向测试", "disc"),
        MBTI28("MBTI职业性格测试（28题）", "mbti28"),
        MBTI95("MBTI职业性格测试（95题）", "mbti95"),
        PF16("卡特尔16种人格因素测验", "pf16"),
        CS_UPI("大学生人格健康测验（UPI）", "cs-upi"),
        MSS_IA("中学生网络成瘾测验", "mss-ia"),
        MSS_AT("中小学生适应能力测验", "mss-at"),
        CADHD16("儿童多动症医学诊断评定量表（16题）", "cadhd16"),
        CADHD14("儿童多动症诊断测验（14题）", "cadhd14"),
        PRS("学习障碍儿童筛查量表", "prs"),
        YSRRS("青少年生活事件测验", "ysrrs"),
        TATQ("考试焦虑测验", "tatq"),
        SRRS("生活事件量表", "srrs"),
        DIFFICULTY_SLEEPING("入睡困难", "difficultySleeping"),
        EARLY_AWAKENING("早醒", "earlyAwakening"),
        HALFWAY_AWAKENING("中途醒", "halfwayAwakening"),
        SHALLOW_SLEEPING("睡眠浅", "shallowSleeping"),
        DREAMINESS("多梦", "dreaminess"),
        DAYTIME_SYMPTOMS("日间不适", "daytimeSymptoms"),
        GAD7("焦虑症筛查量表(GAD7)", "gad7"),
        PHQ9("抑郁症筛查量表(PHQ9)", "phq9"),
        AUDIO_CURE("音频治疗", "audioCure"),
        MENSTRU_INSOMNIA("月经与失眠", "menstruInsomnia"),
        DEATH_OF_FAMILY("亲人死亡引起的失眠问题", "deathOfFamily"),
        WAKE_UP_NIGHT_MORE("晚上起夜太多引起的失眠", "wakeUpNightMore"),
        QUARREL_DAYTIME("白天吵架了晚上睡不着了", "quarrelDaytime"),
        TIMID_INSOMNIA("关于胆怯性失眠", "timidInsomnia"),
        ANXIETY_INSOMNIA("广泛焦虑性失眠", "anxietyInsomnia"),
        FIGURE_SKATING_DUO_ONE_MAN_DAY("（白天听）花滑双人组1号男生", "figureSkatingDuoOneManDay"),
        FIGURE_SKATING_DUO_ONE_MAN_NIGHT("（晚上听）花滑双人组1号男生", "figureSkatingDuoOneManNight"),
        ER_MING("耳鸣", "erMing"),
        HEADACHE("头痛", "headache"),
        YUN_CHE("晕车", "yunche"),

        KONG_GAO("恐高", "konggao"),


        /**
         * 自娱自乐
         */
        selfFunSleep("测测我的睡眠是否正常？", "selfFunSleep"),
        selfFunPressure("看看我是否压力山大？", "selfFunPressure"),
        selfFunWorry("看看我是否有焦虑？", "selfFunWorry"),
        selfFunDepressed("看看我有没有抑郁？", "selfFunDepressed"),
        selfFunUncomfortable("我身体有哪些不舒服？", "selfFunUncomfortable"),
        selfFunForce("我有强迫吗？", "selfFunForce"),
        selfFunCourage("看看我的胆子大不大？", "selfFunCourage"),
        selfFunMental("我不会有精神病吧？", "selfFunMental"),
        selfFunNarcissism("测测我是不是有点自恋？", "selfFunNarcissism"),
        selfFunParanoia("看看我是不是有点偏执倾向？", "selfFunParanoia"),


        /**
         * 通用调节
         */
        SLEEP_NORMAL_ADJUST("睡眠通用调节方案",   "sleepNormalAdjust"),
        COMMON_AUDIO_CURE("通用音频治疗",   "commonAudioCure"),


        /**
         * petxin使用
         */
        ETQZWJ37("3-7岁儿童气质问卷（家长评定）","etqzwj37"),
        RTSHHCP47("4-7岁儿童社会化测评","rtshhcp47"),
        ACHENBACH("Achenbach儿童行为量表","achenbach"),
        BECK("Beck抑郁测验","beck"),
        ETXWWTJSWJ("Conners儿童行为问题教师问卷","etxwwtjswj"),
        ETXWWTFMWJ("Conners儿童行为问题父母问卷","etxwwtfmwj"),
        JMZJWJ("Conners简明症状问卷","jmzjwj"),
        PIERSHARRIS("Piers-Harris儿童自我意识测验","piersharris"),
        RUTTERJS("Rutter儿童行为量表(教师问卷)","rutterjs"),
        RUTTERFM("Rutter儿童行为量表(父母问卷)","rutterfm"),
        YZNGXRQXCY("与子女关系融洽性测验","yzngxrqxcy"),
        ZYZYXXJGLXCY("专业职业(信息加工)类型测验","zyzyxxjglxcy"),
        PEI("个人评价问卷(PEI)","pei"),
        CPI("中国青年人格测验(CPI)","cpi"),
        ZXSRJJWNLCY("中学生人际交往能力测验","zxsrjjwnlcy"),
        ZXSJZGZCWJ("中学生价值观自测问卷","zxsjzgzcwj"),
        ZXSYSJQJCWJ("中学生应试技巧检测问卷","zxsysjqjcwj"),
        ZXSSHCSDCL("中学生社会成熟程度测量","zxsshcsdcl"),
        MHT("中小学生心理健康诊断测验（MHT）","mht"),
        LGXCS("乐观性测试","lgxcs"),
        IAS("交往焦虑测验(IAS)","ias"),
        RSGLB("人生观量表","rsglb"),
        TS("信任量表TS","ts"),
        CPQ("儿童十四种人格因素测验（CPQ）","cpq"),
        ETGDCY24("儿童孤独测验【24题】","etgdcy24"),
        CARS("儿童孤独症评定量表（CARS）【15题】","cars"),
        RTZNCY50("儿童智能50项测验","rtzncy50"),
        SASC("儿童社交焦虑量表(SASC)","sasc"),
        CBS("克氏行为量表(CBS)","cbs"),
        PDHZCZQN("判定孩子创造潜能的方法问卷","pdhzczqn"),
        BRLCS("包容力测试","brlcs"),
        HADS("医院焦虑抑郁量表HADS","hads"),
        YLYDFSCY("压力应对方式测验","ylydfscy"),
        QYNLCS("取悦能力测试","qynlcs"),
        TXGXCY("同学关系测验","txgxcy"),
        YGZCDCY("员工忠诚度测验","ygzcdcy"),
        TDLDNL("团队领导能力","tdldnl"),
        GZXCS("固执性测试","gzxcs"),
        CSNLCS("处世能力测试","csnlcs"),
        DXSYBXYQXWJ("大学生一般学业情绪问卷","dxsybxyqxwj"),
        DXSRJGXZHZDLB("大学生人际关系综合诊断量表","dxsrjgxzhzdlb"),
        DXSXWWTLB("大学生行为问题量表","dxsxwwtlb"),
        WLSCZLQXCY("威廉斯创造力倾向测验","wlsczlqxcy"),
        HYAJJJCS("婚姻安全警戒测试","hyajjjcs"),
        YYEQZLB("婴幼儿气质量表","yyeqzlb"),
        JDXLZDLB("嫉妒心理诊断量表","jdxlzdlb"),
        GDZXWJCPD("孤独症行为家长评定(ABC)","gdzxwjcpd"),
        XYCJYRJGXGYCY("学业成就与人际关系归因测验","xycjyrjgxgycy"),
        XXDJCY("学习动机测验","xxdjcy"),
        XXFFYJNCY("学习方法与技能测验","xxffyjncy"),
        XXFGDCBWJ("学习风格调查表问卷","xxfgdcbwj"),
        JTQMDHSYXLB("家庭亲密度和适应性量表","jtqmdhsyxlb"),
        JTJYFSZHCY("家庭教育方式综合测验","jtjyfszhcy"),
        RNTRLB("容纳他人量表","rntrlb"),
        SCGXCY("师生关系测验","scgxcy"),
        XYNXXNLCY("希―内学习能力测验","xynxxnlcy"),
        YRJWNLJCB("幼儿交往能力检测表","yrjwnljcb"),
        YRTCCS("幼儿特长测试","yrtccs"),
        YRHHSZJCB("幼儿绘画素质检测表","yrhhszjcb"),
        YRGCNLJCB("幼儿观察能力检测表","yrgcnljcb"),
        YRJYNLJCB("幼儿记忆能力检测表","yrjynljcb"),
        YRYYNLJCB("幼儿音乐能力检测表","yryynljcb"),
        YFFSWJ("应付方式问卷","yffswj"),
        YSJQJCWJ("应试技巧检测问卷","ysjqjcwj"),
        KNRYXZSWOMEN("康奈尔医学指数说明书(适用女性)","knryxzswomen"),
        KNRYXZSMAN("康奈尔医学指数说明书(适用男性)","knryxzsman"),
        XLCSNLCP("心理承受能力测评","xlcsnlcp"),
        ZTXFGCS("总体幸福感测试","ztxfgcs"),
        LAFSCY("恋爱方式测验","lafscy"),
        KJQXCS("恐惧情绪测试","kjqxcs"),
        QXSJGDCY("情绪社交孤独测验","qxsjgdcy"),
        QXWDXCS("情绪稳定性测试","qxwdxcs"),
        QXLXZC("情绪类型自测","qxlxzc"),
        QXJZDCS("情绪紧张度测试","qxjzdcs"),
        YZLCY("意志力测验","yzlcy"),
        DSI("抑郁状态问卷(DSI)","dsi"),
        BNZLCY("比内智力测验","bnzlcy"),
        EPPS("爱德华个性偏好测验(EPPS)","epps"),
        AQGXHSDPDLB("爱情关系合适度评定量表","aqgxhsdpdlb"),
        EMBU1("父母教养方式评价量表(EMBU)-1","embu1"),
        EMBU2("父母教养方式评价量表(EMBU)-2","embu2"),
        RWBZTLCY("瑞文标准推理测验","rwbztlcy"),
        LSIA20("生活满意度量表LSIA【20题】","lsia20"),
        LSIB12("生活满意度量表LSIB【12题】","lsib12"),
        FS14("疲劳量表FS-14","fs14"),
        SJHBJKNLB("社交回避及苦恼量表","sjhbjknlb"),
        SDSS("社会功能缺陷筛选量表(SDSS)","sdss"),
        SHSYXZPCS("社会适应性自评测试","shsyxzpcs"),
        MMSE("简易智能状态评价量表(MMSE)","mmse"),
        JYJSZTPJ("简易精神状态评价","jyjsztpj"),
        CPRS("精神症状全面量表(CPRS)","cprs"),
        JSZZZWZDLB("精神症状自我诊断量表","jszzzwzdlb"),
        GDS("老年抑郁量表GDS","gds"),
        KSXLKZNLCY("考试心理控制能力测验","ksxlkznlcy"),
        ZXXCS("自信心测试","zxxcs"),
        ZBGLB("自卑感量表","zbglb"),
        SES("自尊量表SES","ses"),
        SCCS("自我和谐量表(SCCS)","sccs"),
        ZWKZNLCS("自我控制能力测试","zwkznlcs"),
        ZSTDCPLB("自杀态度测评量表","zstdcplb"),
        ASKRGWJ("艾森克人格问卷（成人版）","askrgwj"),
        ASKQXHWDXCY("艾森克情绪稳定性测验","askqxhwdxcy"),
        BKLFSZKLB("贝克-拉范森躁狂量表","bklfszklb"),
        CCXWJCB("超常行为检查表","ccxwjcb"),
        DSQ("防御方式问卷(DSQ)","dsq"),
        HLDZYQXWJ("霍兰德职业倾向问卷","hldzyqxwj"),
        WSERZLCY("韦氏儿童智力测验","wserzlcy"),
        WSYEZLCY("韦氏幼儿智力测验","wsyezlcy"),
        LWSHZCLB("领悟社会支持量表","lwshzclb"),
        MSGZJTTYLB("马氏工作倦怠通用量表","msgzjttylb"),


        SLEEPTIME("睡眠时间调节","sleeptime"),
        WYSMTEST("无忧睡眠调节","wysmtest"),

        TYCMTEST("体验催眠调节","tysmtest"),

        QXLB("情绪量表测评","qxlb"),

        DEPRESS("抑郁套餐","depress"),

        YYLES("抑郁套餐成人生活事件量表","yyles"),

        YYTLES("抑郁套餐青少年生活事件量表","yytles"),

        CYCLB("情绪量表测评","cyclb"),//测一测专用

        QPADULT("强迫阶段一量表","qpadult"),//强迫第一阶段量表

        QPWMPI("强迫阶段二量表","qpwmpi"),//强迫第二阶段量表

        QPYWMPI("强迫阶段三量表","qpywmpi"),//强迫第三阶段量表

        YYSYMPTOM("抑郁阶段一量表","yysymptom"),//抑郁第一阶段量表

        YYWMPI("抑郁阶段二量表","yywmpi"),//抑郁第二阶段量表

        YYYWMPI("抑郁阶段三量表","yyywmpi"),//抑郁第三阶段量表


        JLSYMPTOM("焦虑阶段一量表","jlsymptom"),//焦虑第一阶段量表

        JLWMPI("焦虑阶段二量表","jlwmpi"),//焦虑第二阶段量表

        JLYWMPI("焦虑阶段三量表","jlywmpi"),//焦虑第三阶段量表



        ;

        private String name;
        private String code;

        private InventoryEnum(String name, String code) {
            this.name = name;
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public String getCode() {
            return code;
        }
    }

    /** 专业报告 / 简易报告 **/
    public enum ScoreTypeEnum {
        PROFESSIONAL("专业", "professional"),
        SIMPLE("简易", "simple");
        private String name;
        private String code;

        private ScoreTypeEnum(String name, String code) {
            this.name = name;
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public String getCode() {
            return code;
        }
    }


    /** 内容区分 **/
    public enum ScoreMeataEnum {
        PART_1("第一部分", "part1"),
        PART_2("第二部分", "part2"),
        PART_3("第三部分", "part3"),
        PART_4("第四部分", "part4"),
        PART_5("第五部分", "part5");
        private String name;
        private String code;

        private ScoreMeataEnum(String name, String code) {
            this.name = name;
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public String getCode() {
            return code;
        }
    }



    /**用户 类型 **/
    public enum UsrTypeEnum {
        NORMAL("普通用户", 1), WX("微信用户", 2);

        private String name;
        private Integer value;

        private UsrTypeEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }

    /**
     * 音频量表标记
     * @author Administrator
     *
     */
    public enum AudioSympTomIdEnum {
        DIFFICULTY("入睡困难", 1),
        EARLY("早醒", 2),
        DREAMINESS("多梦", 3),
        HALFWAY("中途醒", 4),
        SHALLOW("睡眠浅", 5),
        DAYTIME("日间不适", 6),

        MENSTRU_INSOMNIA("月经与失眠", 7),

        DEATH_OF_FAMILY("亲人死亡引起的失眠问题", 8),
        WAKE_UP_NIGHT_MORE("晚上起夜太多引起的失眠", 9),

        QUARREL_DAYTIME("白天吵架了晚上睡不着了", 10),

        TIMID_INSOMNIA("关于胆怯性失眠", 11),
        ANXIETY_INSOMNIA("广泛焦虑性失眠", 12),

        FIGURE_SKATING_DUO_ONE_MAN_DAY("（白天听）花滑双人组1号男生", 13),
        FIGURE_SKATING_DUO_ONE_MAN_NIGHT("（晚上听）花滑双人组1号男生", 14),

        ER_MING("耳鸣", 15),
        HEADACHE("头痛", 16),

        YUN_CHE("晕车", 18),
        KONG_GAO("恐高", 19),

        COMMON_AUDIO_AJUST("通用调节方案", 17),

        AUDIO_CARE_PRO("专业调节", 99);

        private String name;
        private Integer value;

        private AudioSympTomIdEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }


    /**音频治疗情况**/
    public enum SymptomLevelEnum {
        LEVEL_SMALL("轻度", 1), LEVEL_SECONDARY("中度", 2), LEVEL_SERIOUS("重度", 3);

        private String name;
        private Integer value;

        private SymptomLevelEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }

    /**操作类型  1:充值  2.消费**/
    public enum OperTypeEnum {
        ADD("充值", "1"), REDUCE("消费", "2");

        private String name;
        private String value;

        private OperTypeEnum(String name, String value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public String getValue() {
            return value;
        }
    }

    /**用户类型： 1.普通用户 2.管理员 3.专家**/
    public enum GiUsrTypeEnum {
        NORMAL("普通用户 ", 1), ADMIN("管理员", 2),PRO("专家", 3);

        private String name;
        private Integer value;

        private GiUsrTypeEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }


    /** 账户类型 **/
    public enum AccountTypeEnum {
        CONSUMER("消费者", "1"),
        SPREAD_USER("推广员", "2"),
        CHARGE_USER("主管", "3"),
        MANAGER_USER("高级主管", "4");

        private String name;
        private String value;

        private AccountTypeEnum(String name, String value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public String getValue() {
            return value;
        }
    }


    /**1:待审核 2:通过 3:不通过**/
    public enum AuditStatusEnum {
        WAIT("待审核", 1), PASS("通过", 2),NG("不通过", 3);

        private String name;
        private Integer value;

        private AuditStatusEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }

    /** 直播状态 1：未直播  2：正在直播 3：已结束 4.过期 **/
    public enum LiveStatusEnum {
        WAIT("未直播", 1), ING("正在直播", 2),END("已结束", 3),EXPIRE("过期失效", 4);

        private String name;
        private Integer value;

        private LiveStatusEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }

    /** 1:公益直播 2: 义诊  3:付费直播 **/
    public enum LiveTypeEnum {
        GY("公益直播", 1), FREE("义诊", 2),PAY("付费直播", 3);

        private String name;
        private Integer value;

        private LiveTypeEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }


    /** 直播对象  1:全员  2:医生端用户  3:个人  **/
    public enum LiveTargetEnum {
        ALL("全员", 1), DOCT("医生端用户", 2),PERSON("个人", 3);

        private String name;
        private Integer value;

        private LiveTargetEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }


    /** 房间类型，可设为：0: 一对一    2: 大班课     4: 小班课  **/
    public enum RoomTypeEnum {
        ONE("一对一 ", 0), BIG("大班课", 2),SMALL("小班课 ", 4);

        private String name;
        private Integer value;

        private RoomTypeEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }

    /** 我的  1.申请中  2.未通过  3.未开播 4.已完成  **/
    public enum StatusInfoEnum {
        APPLY("申请中 ", "1"),
        UNPASS("未通过", "2"),
        UNSTART("未开播 ", "3"),
        COMPLETE("已完成 ", "4");

        private String name;
        private String value;

        private StatusInfoEnum(String name, String value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public String getValue() {
            return value;
        }
    }

    /** 直播状态 0：未直播      1：正在直播       2：已结束       3:关闭 4.过期 **/
    public enum RoomStatusEnum {
        WAIT("未直播", 0),
        ING("正在直播", 1),
        END("已结束", 2),
        CLOSE("关闭", 3),
        EXPIRE("过期失效", 4);

        private String name;
        private Integer value;

        private RoomStatusEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }


    /** 运动员竞技减压与失眠调节 方式**/
    public enum AthletesMethodEnum {
        Decom("不伴失眠的运动员减压", "1"), //不伴失眠的运动员减压
        DifficultSleepDecom("失眠的运动员减压", "2"),  //失眠的运动员减压
        DifficultSleep("临近比赛前，既有失眠又要减压", "3");  //临近比赛前，既有失眠又要减压

        private String name;
        private String val;

        private AthletesMethodEnum(String name, String val) {
            this.name = name;
            this.val = val;
        }

        public String getName() {
            return name;
        }

        public String getVal() {
            return val;
        }
    }


    /** YES/NO：是/否；有/无；正常/异常 **/
    public enum BaseViceTypeEnum {
        NORMAL("通用调节", 1),
        WYSM1("睡眠无忧1号", 3);
        private String name;
        private Integer value;

        private BaseViceTypeEnum(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public Integer getValue() {
            return value;
        }
    }
}
